<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>fluidAllOut</title>
    <link rel="stylesheet" type="text/css" href="csound.css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" />
    <link rel="home" href="index.html" title="The Canonical Csound Reference Manual" />
    <link rel="up" href="OpcodesTop.html" title="Orchestra Opcodes and Operators" />
    <link rel="prev" href="FLupdate.html" title="FLupdate" />
    <link rel="next" href="fluidCCi.html" title="fluidCCi" />
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">fluidAllOut</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="FLupdate.html">Prev</a> </td>
          <th width="60%" align="center">Orchestra Opcodes and Operators</th>
          <td width="20%" align="right"> <a accesskey="n" href="fluidCCi.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="refentry">
      <a id="fluidAllOut"></a>
      <div class="titlepage"></div>
      <a id="IndexFluidAllOut" class="indexterm"></a>
      <div class="refnamediv">
        <h2>
          <span class="refentrytitle">fluidAllOut</span>
        </h2>
        <p>fluidAllOut — 
      Collects all audio from all Fluidsynth engines in a performance
           </p>
      </div>
      <div class="refsect1">
        <a id="idp108455664"></a>
        <h2>Syntax</h2>
        <pre class="synopsis">aleft, aright <span class="command"><strong>fluidAllOut</strong></span></pre>
      </div>
      <div class="refsect1">
        <a id="idp108457744"></a>
        <h2>Description</h2>
        <p>Collects all audio from all Fluidsynth engines in a performance
    </p>
      </div>
      <div class="refsect1">
        <a id="idp108509424"></a>
        <h2>Performance</h2>
        <p><span class="emphasis"><em>aleft</em></span> -- Left channel audio output.</p>
        <p><span class="emphasis"><em>aright</em></span> -- Right channel audio output.</p>
        <p>Invoke fluidAllOut in an instrument definition numbered higher than
    any fluidcontrol instrument definitions. All SoundFonts send their
    audio output to this one opcode. Send a note with an indefinite duration to
    this instrument to turn the SoundFonts on for as long as
    required.</p>
        <p>In this implementation, SoundFont effects such as chorus or
    reverb are used if and only if they are defaults for the preset. There
    is no means of turning such effects on or off, or of changing their
    parameters, from Csound.</p>
      </div>
      <div class="refsect1">
        <a id="idp108513440"></a>
        <h2>Examples</h2>
        <p>
      Here is an example of the fluidAllOut opcodes. It uses the file <a class="ulink" href="examples/fluidAllOut.csd" target="_top"><em class="citetitle">fluidAllOut.csd</em></a>.
    </p>
        <pre class="programlisting">
<span class="csdtag">&lt;CsoundSynthesizer&gt;</span>
<span class="csdtag">&lt;CsOptions&gt;</span>
<span class="comment">; Select audio/midi flags here according to platform</span>
-odac  -+rtmidi=virtual -M0    <span class="comment">;;;realtime audio out and realtime midi in</span>
<span class="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</span>
<span class="comment">; For Non-realtime ouput leave only the line below:</span>
<span class="comment">;-o fluidAllOut.wav -W ;;; for file output any platform</span>
<span class="csdtag">&lt;/CsOptions&gt;</span>
<span class="csdtag">&lt;CsInstruments&gt;</span>

<span class="ohdr">sr</span> <span class="op">=</span> 44100
<span class="ohdr">ksmps</span> <span class="op">=</span> 32
<span class="ohdr">nchnls</span> <span class="op">=</span> 2
<span class="ohdr">0dbfs</span>  <span class="op">=</span> 1

giengine1 <span class="opc">fluidEngine</span>
isfnum1	  <span class="opc">fluidLoad</span> "sf_GMbank.sf2", giengine1, 1
	  <span class="opc">fluidProgramSelect</span> giengine1, 1, isfnum1, 0, 0

giengine2 <span class="opc">fluidEngine</span>
<span class="comment">; soundfont path to manual/examples</span>
isfnum2	  <span class="opc">fluidLoad</span> "22Bassoon.sf2", giengine2, 1
	  <span class="opc">fluidProgramSelect</span> giengine2, 1, isfnum2, 0, 70

<span class="oblock">instr</span> 1

     <span class="opc">mididefault</span>   60, p3
     <span class="opc">midinoteonkey</span> p4, p5
ikey <span class="opc">init</span> p4
ivel <span class="opc">init</span> p5
     <span class="opc">fluidNote</span> giengine1, 1, ikey, ivel

<span class="oblock">endin</span>

<span class="oblock">instr</span> 2

     <span class="opc">mididefault</span>   60, p3
     <span class="opc">midinoteonkey</span> p4, p5
ikey <span class="opc">init</span> p4
ivel <span class="opc">init</span> p5
     <span class="opc">fluidNote</span> giengine2, 1, ikey, ivel

<span class="oblock">endin</span>

<span class="oblock">instr</span> 100

imvol <span class="opc">init</span> 7 <span class="comment">;amplify a bit</span>
asigl, asigr <span class="opc">fluidAllOut</span>
      <span class="opc">outs</span> asigl<span class="op">*</span>imvol, asigr<span class="op">*</span>imvol

<span class="oblock">endin</span>
<span class="csdtag">&lt;/CsInstruments&gt;</span>
<span class="csdtag">&lt;CsScore&gt;</span>

<span class="stamnt">i</span> 1 0 2 60 127 <span class="comment">;play one note on instr 1</span>
<span class="stamnt">i</span> 2 2 2 60 127 <span class="comment">;play another note on instr 2 and...</span>
<span class="stamnt">i</span> 100 0 60     <span class="comment">;play virtual midi keyboard</span>
<span class="stamnt">e</span>
<span class="csdtag">&lt;/CsScore&gt;</span>
<span class="csdtag">&lt;/CsoundSynthesizer&gt;</span>
</pre>
      </div>
      <div class="refsect1">
        <a id="idp108516336"></a>
        <h2>See Also</h2>
        <p><a class="link" href="fluidEngine.html" title="fluidEngine"><em class="citetitle">fluidEngine</em></a>, <a class="link" href="fluidNote.html" title="fluidNote"><em class="citetitle">fluidNote</em></a>, <a class="link" href="fluidLoad.html" title="fluidLoad"><em class="citetitle">fluidLoad</em></a></p>
        <p> More information on soundfonts in the Floss Manuals: <a class="ulink" href="http://en.flossmanuals.net/csound/ch048_d-reading-midi-files" target="_top"><em class="citetitle">http://en.flossmanuals.net/csound/ch048_d-reading-midi-files</em></a></p>
        <p> Other information on soundfonts on Wikipedia: <a class="ulink" href="http://en.wikipedia.org/wiki/Soundfont" target="_top"><em class="citetitle">http://en.wikipedia.org/wiki/Soundfont</em></a></p>
      </div>
      <div class="refsect1">
        <a id="idp108522448"></a>
        <h2>Credits</h2>
        <p>Opcode by Michael Gogins (gogins at pipeline dot
  com). Thanks to Peter Hanappe for Fluidsynth, and to Steven Yi for
  seeing that it is necessary to break up the Fluidsynth into several
  different Csound opcodes.</p>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="FLupdate.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="OpcodesTop.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="fluidCCi.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">FLupdate </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> fluidCCi</td>
        </tr>
      </table>
    </div>
  </body>
</html>
